import Command from "./command"
export class NotesModeToggleCommand extends Command {
  constructor(opened: any) {
    super()
    this.payload = { opened }
  }
}
export class PreviewNoteCommand extends Command {
  constructor(noteId: string) {
    super()
    this.payload = { noteId }
  }
}
export class OpenNoteCommand extends Command {
  constructor(noteId: string, transition: number, attachmentId: string, listIndex = -1) {
    super()
    this.payload = {
      noteId,
      transition,
      attachmentId,
      listIndex
    }
  }
}
export class OpenStartingNoteCommand extends Command {
  constructor() {
    super()
  }
}
export class StartNewNoteCommand extends Command {
  constructor() {
    super()
  }
}
export class SaveNewNoteCommand extends Command {
  constructor(text: any) {
    super()
    this.payload = { text }
  }
}
export class CancelNewNoteCommand extends Command {
  constructor() {
    super()
  }
}
export class CloseNoteCommand extends Command {
  constructor() {
    super()
  }
}
export class SaveNoteChangesCommand extends Command {
  constructor(noteId: string, text: any) {
    super()
    this.payload = { noteId, text }
  }
}
export class CancelCommentChangesCommand extends Command {}
export class ToggleNoteToolEditorCommand extends Command {
  constructor(opened: any) {
    super()
    this.payload = { opened }
  }
}
export class SaveNoteAppearanceCommand extends Command {
  constructor(noteId: any, properties: any) {
    super()
    this.payload = { noteId, properties }
  }
}
export class ResolveNoteCommand extends Command {
  constructor(noteId: any, resolved: any) {
    super()
    this.payload = { noteId, resolved }
  }
}
export class DeleteNoteCommand extends Command {
  constructor(noteId: any) {
    super()
    this.payload = { noteId }
  }
}
export class OpenAnnotationViewCommand extends Command {
  constructor(id: string, assetType: string, editText: string) {
    super()
    this.payload = { id, assetType, editText }
  }
}
export class EditAnnotationCommand extends Command {
  constructor(id: string) {
    super()
    this.payload = { id }
  }
}
export class AddCommentCommand extends Command {
  constructor(noteId: string, text: string, replyId: string) {
    super()
    this.payload = { noteId, text, replyId }
  }
}
export class UpdateCommentCommand extends Command {
  constructor(noteId: string, commentId: string, text: string) {
    super()
    this.payload = { noteId, commentId, text }
  }
}
export class DeleteCommentCommand extends Command {
  constructor(noteId: string, commentId: string) {
    super()
    this.payload = { noteId, commentId }
  }
}
